﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace QLBH
{
    public partial class UTracuu : UserControl
    {
        public UTracuu()
        {
            InitializeComponent();
        }
        #region Khởi tạo
        IQcollections HD = new ICollection();
        IKh KH = new Tes1();
        ICT CT = new DCT();
        ISP SP = new DSanPham();
        INV NV = new DNhanVien();
        #endregion
        #region hàm load thông tin
        private void load_GridHd(string name)
        {
            if (HD != null)
            {
                HD.Load("HoaDon.a");
                DataTable tb = new DataTable("hoa don");
                DataColumn colNH = new DataColumn("Số HD");
                DataColumn colDH = new DataColumn("Ngày HD");
                DataColumn colCN = new DataColumn("Mã NV"); ;
                DataColumn colCK = new DataColumn("Mã KH");
                DataColumn colM = new DataColumn("Trị Giá");
                tb.Columns.Add(colNH);
                tb.Columns.Add(colDH);
                tb.Columns.Add(colCN);
                tb.Columns.Add(colCK);
                tb.Columns.Add(colM);

                foreach (CHoadon hd in HD)
                {
                    if(hd.SoHD.ToString() == name || hd.MaKH == name ||hd.MaNV == name 
                        || hd.NgayHD.ToString().Substring(0, 10) == name)
                    {
                        DataRow row = tb.NewRow();
                        row["Số HD"] = hd.SoHD;
                        row["Ngày HD"] = hd.NgayHD.ToString().Substring(0, 10);
                        row["Mã NV"] = hd.MaNV;
                        row["Mã KH"] = hd.MaKH;
                        row["Trị Giá"] = hd.TriGia;
                        //
                        tb.Rows.Add(row);
                    }
                }
                dgvTc_kq.DataSource = tb;
            }
        }
        private void load_GridKH(string name)
        {
            if (KH != null)
            {
                KH.Load("KhachHang.a");
                DataTable tb = new DataTable("Khách hàng");
                DataColumn colCod = new DataColumn("Mã KH");
                DataColumn colName = new DataColumn("Tên KH");
                DataColumn colAnd = new DataColumn("Địa Chỉ");
                DataColumn colBirt = new DataColumn("Ngày Sinh");
                DataColumn colreg = new DataColumn("Ngày DK");
                DataColumn colNP = new DataColumn("Số DT");
                DataColumn colTo = new DataColumn("Doanh Số");
                tb.Columns.Add(colCod);
                tb.Columns.Add(colName);
                tb.Columns.Add(colAnd);
                tb.Columns.Add(colBirt);
                tb.Columns.Add(colreg);
                tb.Columns.Add(colNP);
                tb.Columns.Add(colTo);

                foreach (CKhachhang kh in KH)
                {
                    //MessageBox.Show(kh.Ngaysinh.ToString().Substring(0,10));
                    if (kh.Makh == name || kh.Sodt.ToString() == name ||
                        kh.Tenkh == name || kh.Ngaydk.ToString().Substring(0, 10) == name
                        || kh.Ngaysinh.ToString().Substring(0, 10) == name)
                    {
                        DataRow row = tb.NewRow();
                        row["Mã KH"] = kh.Makh;
                        row["Tên KH"] = kh.Tenkh;
                        row["Địa Chỉ"] = kh.Diachikh;
                        row["Ngày Sinh"] = kh.Ngaysinh.ToString().Substring(0, 10);
                        row["Ngày DK"] = kh.Ngaydk.ToString().Substring(0, 10);
                        row["Số DT"] = kh.Sodt;
                        row["Doanh Số"] = kh.Doanhso;
                        //
                        tb.Rows.Add(row);
                    }

                }
                dgvTc_kq.DataSource = tb;
            }
        }
        private void load_GridCt(string name)
        {
            if (CT!= null)
            {
                CT.Load("CTHD.a");
                DataTable tb = new DataTable("CTHD");
                DataColumn colNc = new DataColumn("Số HD");
                DataColumn colCp = new DataColumn("Mã SP");
                DataColumn colH = new DataColumn("Số Lượng");
                tb.Columns.Add(colNc);
                tb.Columns.Add(colCp);
                tb.Columns.Add(colH);

                foreach (CCTHD ct in CT)
                {
                    if (ct.SoHD.ToString() == name)
                    {
                        DataRow row = tb.NewRow();
                        row["Số HD"] = ct.SoHD;
                        row["Mã SP"] = ct.MaSp;
                        row["Số Lượng"] = ct.SoLuong;
                        //lHd.Save("HoaDon.a");
                        //
                        tb.Rows.Add(row);
                    }
                }
                dgvTc_kq.DataSource = tb;
            }
        }
        private void load_Gridsp(string name)
        {
            if (SP != null)
            {
                SP.Load("SanPham.a");
                DataTable tb = new DataTable("San Pham");
                DataColumn colCodP = new DataColumn("Mã SP");
                DataColumn colNameP = new DataColumn("Tên SP");
                DataColumn colC = new DataColumn("DVT"); ;
                DataColumn colCt = new DataColumn("Nước SX");
                DataColumn colMon = new DataColumn("Giá");
                tb.Columns.Add(colCodP);
                tb.Columns.Add(colNameP);
                tb.Columns.Add(colC);
                tb.Columns.Add(colCt);
                tb.Columns.Add(colMon);

                foreach (CSanpham sp in SP)
                {
                    if ( sp.DonVt == name || sp.Gia.ToString() == name
                        || sp.MaSp ==name ||sp.NuocSx == name || sp.TenSp == name)
                    {
                        DataRow row = tb.NewRow();
                        row["Mã SP"] = sp.MaSp;
                        row["Tên SP"] = sp.TenSp;
                        row["DVT"] = sp.DonVt;
                        row["Nước SX"] = sp.NuocSx;
                        row["Giá"] = sp.Gia;
                        //
                        tb.Rows.Add(row);
                    }
                }
                dgvTc_kq.DataSource = tb;
            }
        }
        private void load_Gridnv(string name)
        {
            if (NV != null)
            {
                NV.Load("NhanVien.a");
                DataTable tb = new DataTable("Nhan vien");
                DataColumn colCodW = new DataColumn("Mã NV");
                DataColumn colNameW = new DataColumn("Tên NV");
                DataColumn colInW = new DataColumn("Ngày VL"); ;
                DataColumn colNPn = new DataColumn("Số DT");
                tb.Columns.Add(colCodW);
                tb.Columns.Add(colNameW);
                tb.Columns.Add(colInW);
                tb.Columns.Add(colNPn);

                foreach (CNhanVien nv in NV)
                {
                    if (nv.MaNv == name || nv.NgayVl.ToString().Substring(0, 10) == name
                        || nv.Sodtn.ToString() == name || nv.TenNv == name)
                    {
                        DataRow row = tb.NewRow();
                        row["Mã NV"] = nv.MaNv;
                        row["Tên NV"] = nv.TenNv;
                        row["Ngày VL"] = nv.NgayVl.ToString().Substring(0, 10);
                        row["Số DT"] = nv.Sodtn;
                        //
                        tb.Rows.Add(row);
                    }
                }
                dgvTc_kq.DataSource = tb;
            }
        }
        #endregion
        #region Sự kiện Click
        private void btTim_Click(object sender, EventArgs e)
        {
            switch (cboChon.SelectedIndex)
            {
                case 0:
                    load_GridKH(txtTim.Text);
                    break;
                case 1:
                    load_GridHd(txtTim.Text);
                    break;
                case 2:
                    load_GridCt(txtTim.Text);
                    break;
                case 3:
                    load_Gridsp(txtTim.Text);
                    break;
                case 4:
                    load_Gridnv(txtTim.Text);
                    break;
                default:
                    MessageBox.Show("chọn lĩnh vực cần tìm!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    break;

            }
        }
        private void cboChon_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = true;
        }

        private void txtTim_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar))
            {
                //e.Handled = true;
            }
        }
        #endregion
        #region tìm kiếm theo mã khách hàng

        #endregion
    }
}
